<?php
jimport("joomla.mail.helper");

$cap_enable = array('80121','80122','80123','80132');
$limit_segnalazioni = 5;
$error = '';

// Conto il numero di segnalazioni raccolte nella giornata
$query = "SELECT COUNT(*) AS segnalazioni FROM #__fap_report_allarm WHERE CAST(recordtime AS DATE) = '" . date('Y-m-d') . "'";
$database->setQuery( $query );
$segnalazioni = $database->loadResult();

if($segnalazioni > $limit_segnalazioni) {
	return 'Il limite di segnalazioni raccolte è stato raggiunto<br/>Torna domani per inviare la tua richiesta<br/>';
}

// Campi obbligatori
if(!$_POST['name']) {
	$error .= 'Campo nome obbligatorio<br/>';
}

if(!$_POST['surname']) {
	$error .= 'Campo cognome obbligatorio<br/>';
}

if(!$_POST['email']) {
	$error .= 'Campo email obbligatorio<br/>';
}

if($_POST['email'] && !JMailHelper::isEmailAddress($_POST['email'])) {
	$error .= 'Inserire un\'email valida<br/>';
}

if(!$_POST['report_address']) {
	$error .= 'Campo indirizzo obbligatorio<br/>';
}

if(!$_POST['report_number']) {
	$error .= 'Campo n. civico obbligatorio<br/>';
}

if(!$_POST['report_zip']) {
	$error .= 'Campo CAP obbligatorio<br/>';
}

if(!$_POST['report']) {
	$error .= 'Campo descrizione situazione di pericolo obbligatorio<br/>';
}

// Controllo cap valido
if($_POST['report_zip'] && !in_array($_POST['report_zip'], $cap_enable)) {
	$error .= 'Area identificata dal cap ' . $_POST['report_zip'] . ' non è coperta dal servizio<br/>';
}

// Verifica indirizzo esistente
require_once(JPATH_BASE . '/administrator/components/com_google_maps_vision/google_maps_vision.class.php');
$s = (object) $_POST;
$s -> report_address .= ", " . $s -> report_number;  
$s -> report_city = 'Napoli';
$s -> report_state = 'Napoli';
$s -> report_country = 'Italy';
$s -> lat = '';
$s -> lng = '';

$gc = new geocoder($s, 'report_address', 'report_city', 'report_state', 'report_country', 'report_zip');
$gc -> geocodeAddress('com_google_maps_vision');

if(!$gc -> latitude || !$gc -> longitude) {
	$error .= 'L\'indirizzo indicato non è valido<br/>';
}

// Controllo tipo valido
if(!$_POST['report_type']) {
	$error .= 'Campo tipo segnalazione obbligatorio<br/>';
}

// Trattamento dati personali
if(!$_POST['agree'] || $_POST['agree'] != '1') {
	$error .= 'Si prega di autorizzare il trattamento dei dati personali<br/>';
}

if($error) {
	return $error;
}